Business enterprises use software applications in order to function quickly and efficiently. Software applications used in a business enterprise automate critical business operations, for example, Supply Chain Management (SCM), Inventory Management, and Customer Relationship Management (CRM). Software applications are developed using one or more programming languages. Examples of a programming language may include, but are not limited to, C, C++, and Java™.
Java™ has emerged as one of the most widely accepted programming language. Java™ is a platform-independent language therefore, Java™ is extremely efficient for developing large-scale software applications, for example, software applications used in business enterprises.
In a business enterprise, a software application may be deployed in a plurality of operating environments, for example, User Acceptance Testing (UAT) environment, Support environment, production environment, and data migration environment. Each of these operating environments serves a specific purpose in the implementation of the software application. Each operating environment includes an instance of the software application installed for the specific purpose of a corresponding operating environment. As each operating environment has a unique objective, therefore, each instance of the software application in an operating environment is modified to suit the corresponding requirements. The instance may be for one of the core software application, the external interfaces linked to the software application, the customized components installed, and the data the software application stores. Therefore, for efficiently implementing a software application in a business enterprise, adequate support or maintenance of each instance of the software application is required. The support or maintenance is required during and after the implementation of the software application at the business enterprise.
In conventional systems, maintenance of software applications in a business enterprise is performed through a complex structure of on-site and offshore support mechanisms. In a support mechanism, users report bugs and other support requirements to one of an on-site support personnel and remote support personnel, whoever is most easily approachable by them. In response to this, one of the on-site support personnel and remote support personnel inspect the reported bug and/or other support requirement and thereafter provide a solution to the user. However, large number of the bugs reported and other support requirements raised are due to errors occurring because of mismanagement of the process for modifying a software application having a plurality of instances in a business enterprise. Therefore, conventional systems for providing support to a software application are inefficient and time consuming as a significant number of reported bugs and support requirements raised, can easily be solved if support personnel diagnose the situation holistically before fixing the reported bugs.
There is therefore a need for a method and system in which Java™ based enterprise software applications having a plurality of instances installed at a business enterprise can be effectively diagnosed by on-site support personnel and remote support personnel.